/* -*-jde-*- */
package ui.empresaInterfaz;

import java.io.Serializable;
import java.util.ArrayList;
import ui.alumnoInterfaz.AlumnoBean;

/**
 *
 *
 * @author Victor Miguel Peralta Santa Anna
 * @since Enero 2012
 * @version 0.1
 */
public class EmpresaBean implements Serializable{

    /**
     * El codigo de usuario de la empresa en la base de datos Se pone por
     * construcción -1 para tener un identificador que indique si la empresa es
     * nueva o no
     */
    private String idEmpresa = "-1";
    /**
     * Nombre de pila del alumno
     */
    private String nombre = "nombre";
    /**
     * La descripción de la empresa
     */
    private String descripcion = "descripcion";
    /**
     * El rfc de la empresa
     */
    private String rfc = "rfc";
    /**
     * La página web de la empresa
     */
    private String pagweb = "pagweb";
    /**
     * El nombre del contacto de la empresa Esta persona usualmente es la que
     * registra las vacantes
     */
    private String contacto = "contacto";
    /**
     * Telefono de la empresa para obtener más información
     */
    private String telefono = "telefono";
    /**
     * Indica si la empresa está activada o no El administrador debe revisar y
     * activar la empresa No hay un método para borrar empresas. Lo ideal es
     * desactivar la empresa
     */
    private String activado;
    /**
     * Correo de contacto de la empresa
     */
    private String correo = "correo";
    /**
     * Esta variable guarda una nueva vacante que es incorporada a el arreglo
     * vacantes para guardarse en la base de datos
     */
    private VacanteBean vacante = new VacanteBean();
    /**
     * Es una variable que guarda una vacante seleccionada en la interfaz
     * gráfica. Este objeto sirve para obtener de la base de datos los alumnos
     * que se han postulado a dicha vacante
     */
    private VacanteBean vacanteSeleccionada = new VacanteBean();
    /**
     * Arreglo que contiene todas las vacantes de una empresa
     */
    private ArrayList<VacanteBean> vacantes = new ArrayList<VacanteBean>();
    /**
     * Este arreglo guarda los alumnos que se han postulado a una vacante
     */
    private ArrayList<AlumnoBean> alumnosPorVacante = new ArrayList<AlumnoBean>();
    /**
     * La descripción en html de la empresa. Esta variable es usada para ser
     * desplegada al administrador
     */
    private String htmlDescripcion;

    @Override
    public String toString() {
        return "EmpresaBean{" + "idEmpresa=" + idEmpresa + ", nombre=" + nombre + ", descripcion=" + descripcion + ", rfc=" + rfc + ", pagweb=" + pagweb + ", contacto=" + contacto + ", telefono=" + telefono + ", activado=" + activado + ", correo=" + correo + ", vacante=" + vacante + ", vacanteSeleccionada=" + vacanteSeleccionada + ", vacantes=" + vacantes + ", alumnosPorVacante=" + alumnosPorVacante + ", htmlDescripcion=" + htmlDescripcion + '}';
    }

    /**
     * Este método genera una nueva vacante en el servidor para ser usada en la
     * creación de vacantes de la empresa
     *
     * @return
     */
    public String reinit() {
        vacante = new VacanteBean();
        return null;
    }

    //La siguiente sección tiene los "accessors" a las variables privadas
    public ArrayList<AlumnoBean> getAlumnosPorVacante() {
        return alumnosPorVacante;
    }

    public void setAlumnosPorVacante(ArrayList<AlumnoBean> alumnosPorVacante) {
        this.setAlumnosPorVacante(alumnosPorVacante);
    }

    public String getIdEmpresa() {
        return idEmpresa;
    }

    public void setIdEmpresa(String idEmpresa) {
        this.idEmpresa = idEmpresa;
    }

    public VacanteBean getVacanteSeleccionada() {
        return vacanteSeleccionada;
    }

    public void setVacanteSeleccionada(VacanteBean vacanteSeleccionada) {
        this.vacanteSeleccionada = vacanteSeleccionada;
    }

    public String getActivado() {
        return activado;
    }

    public void setActivado(String activado) {
        this.activado = activado;
    }

    public String getContacto() {
        return contacto;
    }

    public void setContacto(String contacto) {
        this.contacto = contacto;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getPagweb() {
        return pagweb;
    }

    public void setPagweb(String pagweb) {
        this.pagweb = pagweb;
    }

    public String getRfc() {
        return rfc;
    }

    public void setRfc(String rfc) {
        this.rfc = rfc;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public VacanteBean getVacante() {
        return vacante;
    }

    public void setVacante(VacanteBean vacante) {
        this.vacante = vacante;
    }

    public ArrayList<VacanteBean> getVacantes() {
        return vacantes;
    }

    public void setVacantes(ArrayList<VacanteBean> vacantes) {
        this.setVacantes(vacantes);
    }

    public String getCorreo() {
        return correo;
    }

    public void setCorreo(String correo) {
        this.correo = correo;
    }

    /**
     * @return the htmlDescripcion
     */
    public String getHtmlDescripcion() {
        return htmlDescripcion;
    }

    /**
     * @param htmlDescripcion the htmlDescripcion to set
     */
    public void setHtmlDescripcion(String htmlDescripcion) {
        this.htmlDescripcion = htmlDescripcion;
    }
}
